Merge "Use PHP DateInputWidget in Contribs and use for range filtering"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Tue, 30 May 2017 20:58:35 +0000 (20:58 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Tue, 30 May 2017 20:58:35 +0000 (20:58 +0000)
1  2 
includes/specials/pagers/ContribsPager.php
resources/Resources.php

@@@ -28,7 -28,7 +28,7 @@@ use Wikimedia\Rdbms\ResultWrapper
  use Wikimedia\Rdbms\FakeResultWrapper;
  use Wikimedia\Rdbms\IDatabase;
  
- class ContribsPager extends ReverseChronologicalPager {
+ class ContribsPager extends RangeChronologicalPager {
  
        public $mDefaultDirection = IndexPager::DIR_DESCENDING;
        public $messages;
                $this->newOnly = !empty( $options['newOnly'] );
                $this->hideMinor = !empty( $options['hideMinor'] );
  
-               $year = isset( $options['year'] ) ? $options['year'] : false;
-               $month = isset( $options['month'] ) ? $options['month'] : false;
-               $this->getDateCond( $year, $month );
+               // Date filtering: use timestamp if available
+               $startTimestamp = '';
+               $endTimestamp = '';
+               if ( $options['start'] ) {
+                       $startTimestamp = $options['start'] . ' 00:00:00';
+               }
+               if ( $options['end'] ) {
+                       $endTimestamp = $options['end'] . ' 23:59:59';
+               }
+               $this->getDateRangeCond( $startTimestamp, $endTimestamp );
  
                // Most of this code will use the 'contributions' group DB, which can map to replica DBs
                // with extra user based indexes or partioning by user. The additional metadata
                        }
  
                        # Show user names for /newbies as there may be different users.
 -                      # Note that we already excluded rows with hidden user names.
 -                      if ( $this->contribs == 'newbie' ) {
 +                      # Note that only unprivileged users have rows with hidden user names excluded.
 +                      $userlink = '';
 +                      if ( $this->contribs == 'newbie' && !$rev->isDeleted( Revision::DELETED_USER ) ) {
                                $userlink = ' . . ' . $lang->getDirMark()
                                        . Linker::userLink( $rev->getUser(), $rev->getUserText() );
                                $userlink .= ' ' . $this->msg( 'parentheses' )->rawParams(
 -                                              Linker::userTalkLink( $rev->getUser(), $rev->getUserText() ) )->escaped() . ' ';
 -                      } else {
 -                              $userlink = '';
 +                                      Linker::userTalkLink( $rev->getUser(), $rev->getUserText() ) )->escaped() . ' ';
                        }
  
                        $flags = [];
diff --combined resources/Resources.php
@@@ -1764,7 -1764,7 +1764,7 @@@ return 
                        'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.TagItemWidget.js',
                        'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterTagItemWidget.js',
                        'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterMenuHeaderWidget.js',
 -                      'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FloatingMenuSelectWidget.js',
 +                      'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.MenuSelectWidget.js',
                        'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterWrapperWidget.js',
                        'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ChangesListWrapperWidget.js',
                        'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.SavedLinksListWidget.js',
                        'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterMenuSectionOptionWidget.less',
                        'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.TagItemWidget.less',
                        'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterMenuHeaderWidget.less',
 -                      'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FloatingMenuSelectWidget.less',
 +                      'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.MenuSelectWidget.less',
                        'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterWrapperWidget.less',
                        'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.ChangesListWrapperWidget.less',
                        'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.HighlightColorPickerWidget.less',
        'mediawiki.special.comparepages.styles' => [
                'styles' => 'resources/src/mediawiki.special/mediawiki.special.comparepages.styles.less',
        ],
+       'mediawiki.special.contributions' => [
+               'scripts' => 'resources/src/mediawiki.special/mediawiki.special.contributions.js',
+               'dependencies' => [
+                       'mediawiki.widgets.DateInputWidget',
+                       'mediawiki.jqueryMsg',
+               ]
+       ],
        'mediawiki.special.edittags' => [
                'scripts' => 'resources/src/mediawiki.special/mediawiki.special.edittags.js',
                'dependencies' => [